from sklearn_benchmarks.report import Reporting, ReportingHpo, print_time_report, print_env_info
import pandas as pd
pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
%matplotlib notebook
print_time_report()
daal4py_KMeans_short: 0h 0m 1s
daal4py_Ridge: 0h 0m 2s
KMeans_short: 0h 0m 3s
daal4py_LogisticRegression: 0h 0m 5s
daal4py_KMeans_tall: 0h 0m 10s
Ridge: 0h 0m 11s
KMeans_tall: 0h 0m 25s
LogisticRegression: 0h 0m 26s
daal4py_KNeighborsClassifier_kd_tree: 0h 0m 30s
KNeighborsClassifier_kd_tree: 0h 2m 26s
lightgbm: 0h 5m 10s
HistGradientBoostingClassifier: 0h 5m 11s
catboost_symmetric: 0h 5m 22s
xgboost: 0h 5m 29s
catboost_lossguide: 0h 5m 40s
daal4py_KNeighborsClassifier: 0h 6m 15s
KNeighborsClassifier: 0h 34m 16s
total: 1h 11m 51s
print_env_info()
{
"system_info": {
"python": "3.8.10 | packaged by conda-forge | (default, May 11 2021, 07:01:05) [GCC 9.3.0]",
"executable": "/usr/share/miniconda/envs/sklbench/bin/python",
"machine": "Linux-5.8.0-1033-azure-x86_64-with-glibc2.10"
},
"dependencies_info": {
"pip": "21.1.2",
"setuptools": "49.6.0.post20210108",
"sklearn": "1.0.dev0",
"numpy": "1.21.0",
"scipy": "1.6.3",
"Cython": null,
"pandas": "1.2.5",
"matplotlib": "3.4.2",
"joblib": "1.0.1",
"threadpoolctl": "2.1.0"
},
"threadpool_info": [
{
"filepath": "/usr/share/miniconda/envs/sklbench/lib/libopenblasp-r0.3.15.so",
"prefix": "libopenblas",
"user_api": "blas",
"internal_api": "openblas",
"version": "0.3.15",
"num_threads": 2,
"threading_layer": "pthreads"
},
{
"filepath": "/usr/share/miniconda/envs/sklbench/lib/python3.8/site-packages/scikit_learn.libs/libgomp-f7e03b3e.so.1.0.0",
"prefix": "libgomp",
"user_api": "openmp",
"internal_api": "openmp",
"version": null,
"num_threads": 2
},
{
"filepath": "/usr/share/miniconda/envs/sklbench/lib/libgomp.so.1.0.0",
"prefix": "libgomp",
"user_api": "openmp",
"internal_api": "openmp",
"version": null,
"num_threads": 2
}
],
"cpu_count": 2
}
reporting = Reporting(config="config.yml")
reporting.run()
KNeighborsClassifier: scikit-learn (1.0.dev0) vs. daal4py (2021.2.3)¶All estimators share the following hyperparameters: algorithm=brute.
| estimator | function | n_samples_train | n_samples | n_features | n_iter | mean_sklearn | stdev_sklearn | throughput | latency | n_jobs | n_neighbors | accuracy_score_sklearn | accuracy_score_daal4py | mean_daal4py | stdev_daal4py | speedup | stdev_speedup | sklearn_profiling | daal4py_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | KNeighborsClassifier | fit | 1000000 | 1000000 | 100 | NaN | 0.163 | 0.000 | 4.896 | 0.000 | -1 | 1 | NaN | NaN | 0.530 | 0.000 | 0.308 | 0.000 | See | See |
| 1 | KNeighborsClassifier | predict | 1000000 | 1000 | 100 | NaN | 31.418 | 0.000 | 0.000 | 0.031 | -1 | 1 | 0.721 | 0.833 | 4.398 | 0.025 | 7.143 | 0.040 | See | See |
| 2 | KNeighborsClassifier | predict | 1000000 | 1 | 100 | NaN | 0.206 | 0.018 | 0.000 | 0.206 | -1 | 1 | 0.000 | 1.000 | 0.106 | 0.002 | 1.952 | 0.172 | See | See |
| 3 | KNeighborsClassifier | fit | 1000000 | 1000000 | 100 | NaN | 0.145 | 0.000 | 5.510 | 0.000 | 1 | 5 | NaN | NaN | 0.538 | 0.000 | 0.270 | 0.000 | See | See |
| 4 | KNeighborsClassifier | predict | 1000000 | 1000 | 100 | NaN | 27.315 | 0.542 | 0.000 | 0.027 | 1 | 5 | 0.797 | 0.928 | 4.510 | 0.040 | 6.057 | 0.132 | See | See |
| 5 | KNeighborsClassifier | predict | 1000000 | 1 | 100 | NaN | 0.221 | 0.005 | 0.000 | 0.221 | 1 | 5 | 0.000 | 1.000 | 0.114 | 0.004 | 1.941 | 0.079 | See | See |
| 6 | KNeighborsClassifier | fit | 1000000 | 1000000 | 100 | NaN | 0.132 | 0.000 | 6.067 | 0.000 | -1 | 5 | NaN | NaN | 0.533 | 0.000 | 0.248 | 0.000 | See | See |
| 7 | KNeighborsClassifier | predict | 1000000 | 1000 | 100 | NaN | 41.552 | 0.000 | 0.000 | 0.042 | -1 | 5 | 0.797 | 0.702 | 4.413 | 0.025 | 9.416 | 0.053 | See | See |
| 8 | KNeighborsClassifier | predict | 1000000 | 1 | 100 | NaN | 0.224 | 0.022 | 0.000 | 0.224 | -1 | 5 | 0.000 | 1.000 | 0.101 | 0.002 | 2.229 | 0.224 | See | See |
| 9 | KNeighborsClassifier | fit | 1000000 | 1000000 | 100 | NaN | 0.156 | 0.000 | 5.138 | 0.000 | 1 | 1 | NaN | NaN | 0.538 | 0.000 | 0.289 | 0.000 | See | See |
| 10 | KNeighborsClassifier | predict | 1000000 | 1000 | 100 | NaN | 17.276 | 0.361 | 0.000 | 0.017 | 1 | 1 | 0.721 | 0.833 | 4.410 | 0.010 | 3.918 | 0.082 | See | See |
| 11 | KNeighborsClassifier | predict | 1000000 | 1 | 100 | NaN | 0.214 | 0.004 | 0.000 | 0.214 | 1 | 1 | 0.000 | 1.000 | 0.109 | 0.002 | 1.967 | 0.053 | See | See |
| 12 | KNeighborsClassifier | fit | 1000000 | 1000000 | 100 | NaN | 0.145 | 0.000 | 5.514 | 0.000 | 1 | 100 | NaN | NaN | 0.567 | 0.000 | 0.256 | 0.000 | See | See |
| 13 | KNeighborsClassifier | predict | 1000000 | 1000 | 100 | NaN | 27.220 | 0.443 | 0.000 | 0.027 | 1 | 100 | 0.923 | 0.702 | 4.399 | 0.046 | 6.188 | 0.119 | See | See |
| 14 | KNeighborsClassifier | predict | 1000000 | 1 | 100 | NaN | 0.229 | 0.004 | 0.000 | 0.229 | 1 | 100 | 1.000 | 1.000 | 0.104 | 0.002 | 2.202 | 0.053 | See | See |
| 15 | KNeighborsClassifier | fit | 1000000 | 1000000 | 100 | NaN | 0.143 | 0.000 | 5.596 | 0.000 | -1 | 100 | NaN | NaN | 0.546 | 0.000 | 0.262 | 0.000 | See | See |
| 16 | KNeighborsClassifier | predict | 1000000 | 1000 | 100 | NaN | 41.481 | 0.000 | 0.000 | 0.041 | -1 | 100 | 0.923 | 0.928 | 4.515 | 0.026 | 9.187 | 0.054 | See | See |
| 17 | KNeighborsClassifier | predict | 1000000 | 1 | 100 | NaN | 0.215 | 0.023 | 0.000 | 0.215 | -1 | 100 | 1.000 | 1.000 | 0.106 | 0.003 | 2.018 | 0.221 | See | See |
| 18 | KNeighborsClassifier | fit | 1000000 | 1000000 | 2 | NaN | 0.056 | 0.000 | 0.285 | 0.000 | -1 | 1 | NaN | NaN | 0.100 | 0.000 | 0.562 | 0.000 | See | See |
| 19 | KNeighborsClassifier | predict | 1000000 | 1000 | 2 | NaN | 24.898 | 0.876 | 0.000 | 0.025 | -1 | 1 | 0.978 | 0.982 | 0.993 | 0.012 | 25.062 | 0.935 | See | See |
| 20 | KNeighborsClassifier | predict | 1000000 | 1 | 2 | NaN | 0.022 | 0.002 | 0.000 | 0.022 | -1 | 1 | 1.000 | 1.000 | 0.005 | 0.000 | 4.697 | 0.625 | See | See |
| 21 | KNeighborsClassifier | fit | 1000000 | 1000000 | 2 | NaN | 0.054 | 0.000 | 0.296 | 0.000 | 1 | 5 | NaN | NaN | 0.098 | 0.000 | 0.551 | 0.000 | See | See |
| 22 | KNeighborsClassifier | predict | 1000000 | 1000 | 2 | NaN | 20.869 | 0.313 | 0.000 | 0.021 | 1 | 5 | 0.990 | 0.986 | 1.073 | 0.021 | 19.457 | 0.477 | See | See |
| 23 | KNeighborsClassifier | predict | 1000000 | 1 | 2 | NaN | 0.024 | 0.001 | 0.000 | 0.024 | 1 | 5 | 1.000 | 1.000 | 0.005 | 0.000 | 5.122 | 0.422 | See | See |
| 24 | KNeighborsClassifier | fit | 1000000 | 1000000 | 2 | NaN | 0.052 | 0.000 | 0.305 | 0.000 | -1 | 5 | NaN | NaN | 0.105 | 0.000 | 0.498 | 0.000 | See | See |
| 25 | KNeighborsClassifier | predict | 1000000 | 1000 | 2 | NaN | 35.147 | 0.000 | 0.000 | 0.035 | -1 | 5 | 0.990 | 0.974 | 0.981 | 0.014 | 35.828 | 0.510 | See | See |
| 26 | KNeighborsClassifier | predict | 1000000 | 1 | 2 | NaN | 0.037 | 0.003 | 0.000 | 0.037 | -1 | 5 | 1.000 | 1.000 | 0.004 | 0.000 | 8.321 | 0.836 | See | See |
| 27 | KNeighborsClassifier | fit | 1000000 | 1000000 | 2 | NaN | 0.111 | 0.000 | 0.144 | 0.000 | 1 | 1 | NaN | NaN | 0.096 | 0.000 | 1.158 | 0.000 | See | See |
| 28 | KNeighborsClassifier | predict | 1000000 | 1000 | 2 | NaN | 11.538 | 0.143 | 0.000 | 0.012 | 1 | 1 | 0.978 | 0.982 | 0.980 | 0.017 | 11.777 | 0.246 | See | See |
| 29 | KNeighborsClassifier | predict | 1000000 | 1 | 2 | NaN | 0.015 | 0.001 | 0.000 | 0.015 | 1 | 1 | 1.000 | 1.000 | 0.005 | 0.000 | 3.183 | 0.265 | See | See |
| 30 | KNeighborsClassifier | fit | 1000000 | 1000000 | 2 | NaN | 0.053 | 0.000 | 0.301 | 0.000 | 1 | 100 | NaN | NaN | 0.101 | 0.000 | 0.528 | 0.000 | See | See |
| 31 | KNeighborsClassifier | predict | 1000000 | 1000 | 2 | NaN | 20.848 | 0.372 | 0.000 | 0.021 | 1 | 100 | 0.989 | 0.974 | 0.986 | 0.020 | 21.134 | 0.566 | See | See |
| 32 | KNeighborsClassifier | predict | 1000000 | 1 | 2 | NaN | 0.028 | 0.001 | 0.000 | 0.028 | 1 | 100 | 1.000 | 1.000 | 0.004 | 0.000 | 6.372 | 0.456 | See | See |
| 33 | KNeighborsClassifier | fit | 1000000 | 1000000 | 2 | NaN | 0.054 | 0.000 | 0.298 | 0.000 | -1 | 100 | NaN | NaN | 0.095 | 0.000 | 0.566 | 0.000 | See | See |
| 34 | KNeighborsClassifier | predict | 1000000 | 1000 | 2 | NaN | 33.597 | 0.000 | 0.000 | 0.034 | -1 | 100 | 0.989 | 0.986 | 1.070 | 0.023 | 31.413 | 0.662 | See | See |
| 35 | KNeighborsClassifier | predict | 1000000 | 1 | 2 | NaN | 0.035 | 0.003 | 0.000 | 0.035 | -1 | 100 | 1.000 | 1.000 | 0.005 | 0.000 | 7.544 | 0.657 | See | See |
KNeighborsClassifier_kd_tree: scikit-learn (1.0.dev0) vs. daal4py (2021.2.3)¶All estimators share the following hyperparameters: algorithm=kd_tree.
| estimator | function | n_samples_train | n_samples | n_features | n_iter | mean_sklearn | stdev_sklearn | throughput | latency | n_jobs | n_neighbors | accuracy_score_sklearn | accuracy_score_daal4py | mean_daal4py | stdev_daal4py | speedup | stdev_speedup | sklearn_profiling | daal4py_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 10 | NaN | 2.522 | 0.000 | 0.032 | 0.000 | 1 | 1 | NaN | NaN | 0.767 | 0.000 | 3.288 | 0.000 | See | See |
| 1 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | NaN | 0.630 | 0.015 | 0.000 | 0.001 | 1 | 1 | 0.960 | 0.982 | 0.623 | 0.014 | 1.012 | 0.033 | See | See |
| 2 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | NaN | 0.001 | 0.000 | 0.000 | 0.001 | 1 | 1 | 1.000 | 1.000 | 0.001 | 0.000 | 1.250 | 0.605 | See | See |
| 3 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 10 | NaN | 2.573 | 0.000 | 0.031 | 0.000 | -1 | 5 | NaN | NaN | 0.765 | 0.000 | 3.364 | 0.000 | See | See |
| 4 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | NaN | 0.780 | 0.021 | 0.000 | 0.001 | -1 | 5 | 0.972 | 0.982 | 0.200 | 0.005 | 3.903 | 0.141 | See | See |
| 5 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | NaN | 0.004 | 0.000 | 0.000 | 0.004 | -1 | 5 | 1.000 | 1.000 | 0.000 | 0.000 | 8.281 | 3.967 | See | See |
| 6 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 10 | NaN | 2.528 | 0.000 | 0.032 | 0.000 | -1 | 100 | NaN | NaN | 0.763 | 0.000 | 3.312 | 0.000 | See | See |
| 7 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | NaN | 2.536 | 0.072 | 0.000 | 0.003 | -1 | 100 | 0.972 | 0.982 | 0.200 | 0.007 | 12.688 | 0.562 | See | See |
| 8 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | NaN | 0.005 | 0.001 | 0.000 | 0.005 | -1 | 100 | 1.000 | 1.000 | 0.000 | 0.000 | 12.327 | 6.124 | See | See |
| 9 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 10 | NaN | 2.509 | 0.000 | 0.032 | 0.000 | 1 | 100 | NaN | NaN | 0.729 | 0.000 | 3.440 | 0.000 | See | See |
| 10 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | NaN | 4.448 | 0.106 | 0.000 | 0.004 | 1 | 100 | 0.972 | 0.967 | 0.109 | 0.004 | 40.690 | 1.703 | See | See |
| 11 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | NaN | 0.003 | 0.001 | 0.000 | 0.003 | 1 | 100 | 1.000 | 1.000 | 0.000 | 0.000 | 9.652 | 5.546 | See | See |
| 12 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 10 | NaN | 2.661 | 0.000 | 0.030 | 0.000 | -1 | 1 | NaN | NaN | 0.713 | 0.000 | 3.730 | 0.000 | See | See |
| 13 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | NaN | 0.415 | 0.010 | 0.000 | 0.000 | -1 | 1 | 0.960 | 0.982 | 0.600 | 0.015 | 0.692 | 0.024 | See | See |
| 14 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | NaN | 0.003 | 0.001 | 0.000 | 0.003 | -1 | 1 | 1.000 | 1.000 | 0.001 | 0.000 | 3.183 | 1.198 | See | See |
| 15 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 10 | NaN | 2.726 | 0.000 | 0.029 | 0.000 | 1 | 5 | NaN | NaN | 0.722 | 0.000 | 3.775 | 0.000 | See | See |
| 16 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 10 | NaN | 1.311 | 0.025 | 0.000 | 0.001 | 1 | 5 | 0.972 | 0.967 | 0.107 | 0.003 | 12.252 | 0.441 | See | See |
| 17 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 10 | NaN | 0.002 | 0.000 | 0.000 | 0.002 | 1 | 5 | 1.000 | 1.000 | 0.000 | 0.000 | 5.489 | 2.790 | See | See |
| 18 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 2 | NaN | 0.831 | 0.000 | 0.019 | 0.000 | 1 | 1 | NaN | NaN | 0.502 | 0.000 | 1.656 | 0.000 | See | See |
| 19 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 2 | NaN | 0.030 | 0.002 | 0.001 | 0.000 | 1 | 1 | 0.978 | 0.988 | 0.008 | 0.001 | 3.941 | 0.360 | See | See |
| 20 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 2 | NaN | 0.001 | 0.000 | 0.000 | 0.001 | 1 | 1 | 0.000 | 1.000 | 0.000 | 0.000 | 4.378 | 1.768 | See | See |
| 21 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 2 | NaN | 0.778 | 0.000 | 0.021 | 0.000 | -1 | 5 | NaN | NaN | 0.500 | 0.000 | 1.556 | 0.000 | See | See |
| 22 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 2 | NaN | 0.032 | 0.002 | 0.000 | 0.000 | -1 | 5 | 0.986 | 0.988 | 0.001 | 0.000 | 25.018 | 5.096 | See | See |
| 23 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 2 | NaN | 0.003 | 0.000 | 0.000 | 0.003 | -1 | 5 | 0.000 | 1.000 | 0.000 | 0.000 | 15.991 | 9.148 | See | See |
| 24 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 2 | NaN | 0.775 | 0.000 | 0.021 | 0.000 | -1 | 100 | NaN | NaN | 0.493 | 0.000 | 1.571 | 0.000 | See | See |
| 25 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 2 | NaN | 0.050 | 0.006 | 0.000 | 0.000 | -1 | 100 | 0.985 | 0.988 | 0.001 | 0.000 | 39.292 | 10.662 | See | See |
| 26 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 2 | NaN | 0.003 | 0.001 | 0.000 | 0.003 | -1 | 100 | 0.000 | 1.000 | 0.000 | 0.000 | 14.689 | 7.970 | See | See |
| 27 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 2 | NaN | 0.773 | 0.000 | 0.021 | 0.000 | 1 | 100 | NaN | NaN | 0.513 | 0.000 | 1.507 | 0.000 | See | See |
| 28 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 2 | NaN | 0.052 | 0.002 | 0.000 | 0.000 | 1 | 100 | 0.985 | 0.985 | 0.001 | 0.001 | 49.917 | 25.726 | See | See |
| 29 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 2 | NaN | 0.001 | 0.000 | 0.000 | 0.001 | 1 | 100 | 0.000 | 1.000 | 0.000 | 0.000 | 4.481 | 3.184 | See | See |
| 30 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 2 | NaN | 0.781 | 0.000 | 0.020 | 0.000 | -1 | 1 | NaN | NaN | 0.525 | 0.000 | 1.489 | 0.000 | See | See |
| 31 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 2 | NaN | 0.031 | 0.002 | 0.001 | 0.000 | -1 | 1 | 0.978 | 0.988 | 0.008 | 0.001 | 4.027 | 0.389 | See | See |
| 32 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 2 | NaN | 0.003 | 0.001 | 0.000 | 0.003 | -1 | 1 | 0.000 | 1.000 | 0.000 | 0.000 | 16.131 | 9.023 | See | See |
| 33 | KNeighborsClassifier_kd_tree | fit | 1000000 | 1000000 | 2 | NaN | 0.781 | 0.000 | 0.020 | 0.000 | 1 | 5 | NaN | NaN | 0.541 | 0.000 | 1.443 | 0.000 | See | See |
| 34 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1000 | 2 | NaN | 0.030 | 0.001 | 0.001 | 0.000 | 1 | 5 | 0.986 | 0.985 | 0.001 | 0.000 | 34.683 | 12.073 | See | See |
| 35 | KNeighborsClassifier_kd_tree | predict | 1000000 | 1 | 2 | NaN | 0.001 | 0.000 | 0.000 | 0.001 | 1 | 5 | 0.000 | 1.000 | 0.000 | 0.000 | 4.918 | 3.123 | See | See |
KMeans_tall: scikit-learn (1.0.dev0) vs. daal4py (2021.2.3)¶All estimators share the following hyperparameters: algorithm=full, n_clusters=3, max_iter=30, n_init=1, tol=1e-16.
| estimator | function | n_samples_train | n_samples | n_features | n_iter_sklearn | mean_sklearn | stdev_sklearn | throughput | latency | init | adjusted_rand_score_sklearn | n_iter_daal4py | adjusted_rand_score_daal4py | mean_daal4py | stdev_daal4py | speedup | stdev_speedup | sklearn_profiling | daal4py_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | KMeans_tall | fit | 1000000 | 1000000 | 2 | 30 | 0.662 | 0.0 | 0.725 | 0.000 | random | NaN | 30 | NaN | 0.366 | 0.0 | 1.808 | 0.000 | See | See |
| 1 | KMeans_tall | predict | 1000000 | 1000 | 2 | 30 | 0.002 | 0.0 | 0.278 | 0.000 | random | 0.001 | 30 | 0.001 | 0.000 | 0.0 | 8.011 | 3.422 | See | See |
| 2 | KMeans_tall | predict | 1000000 | 1 | 2 | 30 | 0.002 | 0.0 | 0.000 | 0.002 | random | 1.000 | 30 | 1.000 | 0.000 | 0.0 | 9.239 | 3.758 | See | See |
| 3 | KMeans_tall | fit | 1000000 | 1000000 | 2 | 30 | 0.691 | 0.0 | 0.695 | 0.000 | k-means++ | NaN | 30 | NaN | 0.308 | 0.0 | 2.244 | 0.000 | See | See |
| 4 | KMeans_tall | predict | 1000000 | 1000 | 2 | 30 | 0.002 | 0.0 | 0.275 | 0.000 | k-means++ | 0.001 | 30 | 0.001 | 0.000 | 0.0 | 7.071 | 3.481 | See | See |
| 5 | KMeans_tall | predict | 1000000 | 1 | 2 | 30 | 0.002 | 0.0 | 0.000 | 0.002 | k-means++ | 1.000 | 30 | 1.000 | 0.000 | 0.0 | 6.420 | 7.661 | See | See |
| 6 | KMeans_tall | fit | 1000000 | 1000000 | 100 | 30 | 7.824 | 0.0 | 3.067 | 0.000 | random | NaN | 30 | NaN | 4.060 | 0.0 | 1.927 | 0.000 | See | See |
| 7 | KMeans_tall | predict | 1000000 | 1000 | 100 | 30 | 0.002 | 0.0 | 12.331 | 0.000 | random | 0.002 | 30 | 0.002 | 0.000 | 0.0 | 6.005 | 2.982 | See | See |
| 8 | KMeans_tall | predict | 1000000 | 1 | 100 | 30 | 0.002 | 0.0 | 0.014 | 0.002 | random | 1.000 | 30 | 1.000 | 0.000 | 0.0 | 9.148 | 5.342 | See | See |
| 9 | KMeans_tall | fit | 1000000 | 1000000 | 100 | 30 | 7.865 | 0.0 | 3.052 | 0.000 | k-means++ | NaN | 30 | NaN | 3.810 | 0.0 | 2.064 | 0.000 | See | See |
| 10 | KMeans_tall | predict | 1000000 | 1000 | 100 | 30 | 0.002 | 0.0 | 12.146 | 0.000 | k-means++ | 0.001 | 30 | 0.002 | 0.000 | 0.0 | 5.794 | 2.583 | See | See |
| 11 | KMeans_tall | predict | 1000000 | 1 | 100 | 30 | 0.002 | 0.0 | 0.014 | 0.002 | k-means++ | 1.000 | 30 | 1.000 | 0.000 | 0.0 | 8.378 | 3.487 | See | See |
KMeans_short: scikit-learn (1.0.dev0) vs. daal4py (2021.2.3)¶All estimators share the following hyperparameters: algorithm=full, n_clusters=300, max_iter=20, n_init=1, tol=1e-16.
| estimator | function | n_samples_train | n_samples | n_features | n_iter_sklearn | mean_sklearn | stdev_sklearn | throughput | latency | init | adjusted_rand_score_sklearn | n_iter_daal4py | adjusted_rand_score_daal4py | mean_daal4py | stdev_daal4py | speedup | stdev_speedup | sklearn_profiling | daal4py_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | KMeans_short | fit | 10000 | 10000 | 2 | 20 | 0.321 | 0.0 | 0.010 | 0.000 | k-means++ | NaN | 20 | NaN | 0.057 | 0.0 | 5.675 | 0.000 | See | See |
| 1 | KMeans_short | predict | 10000 | 1000 | 2 | 20 | 0.002 | 0.0 | 0.144 | 0.000 | k-means++ | 0.000 | 20 | -0.001 | 0.001 | 0.0 | 2.234 | 0.841 | See | See |
| 2 | KMeans_short | predict | 10000 | 1 | 2 | 20 | 0.002 | 0.0 | 0.000 | 0.002 | k-means++ | 1.000 | 20 | 1.000 | 0.000 | 0.0 | 7.605 | 3.631 | See | See |
| 3 | KMeans_short | fit | 10000 | 10000 | 2 | 20 | 0.104 | 0.0 | 0.031 | 0.000 | random | NaN | 20 | NaN | 0.146 | 0.0 | 0.714 | 0.000 | See | See |
| 4 | KMeans_short | predict | 10000 | 1000 | 2 | 20 | 0.002 | 0.0 | 0.142 | 0.000 | random | -0.000 | 20 | -0.003 | 0.001 | 0.0 | 2.455 | 0.986 | See | See |
| 5 | KMeans_short | predict | 10000 | 1 | 2 | 20 | 0.002 | 0.0 | 0.000 | 0.002 | random | 1.000 | 20 | 1.000 | 0.000 | 0.0 | 8.508 | 4.250 | See | See |
| 6 | KMeans_short | fit | 10000 | 10000 | 100 | 20 | 1.176 | 0.0 | 0.136 | 0.000 | k-means++ | NaN | 20 | NaN | 0.276 | 0.0 | 4.265 | 0.000 | See | See |
| 7 | KMeans_short | predict | 10000 | 1000 | 100 | 20 | 0.003 | 0.0 | 4.767 | 0.000 | k-means++ | 0.281 | 20 | 0.252 | 0.002 | 0.0 | 1.987 | 0.329 | See | See |
| 8 | KMeans_short | predict | 10000 | 1 | 100 | 20 | 0.002 | 0.0 | 0.008 | 0.002 | k-means++ | 1.000 | 20 | 1.000 | 0.000 | 0.0 | 8.099 | 3.576 | See | See |
| 9 | KMeans_short | fit | 10000 | 10000 | 100 | 20 | 0.342 | 0.0 | 0.468 | 0.000 | random | NaN | 20 | NaN | 0.635 | 0.0 | 0.539 | 0.000 | See | See |
| 10 | KMeans_short | predict | 10000 | 1000 | 100 | 20 | 0.003 | 0.0 | 4.713 | 0.000 | random | 0.319 | 20 | 0.333 | 0.002 | 0.0 | 2.113 | 0.287 | See | See |
| 11 | KMeans_short | predict | 10000 | 1 | 100 | 20 | 0.002 | 0.0 | 0.009 | 0.002 | random | 1.000 | 20 | 1.000 | 0.000 | 0.0 | 7.809 | 2.887 | See | See |
LogisticRegression: scikit-learn (1.0.dev0) vs. daal4py (2021.2.3)¶All estimators share the following hyperparameters: penalty=l2, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=nan, random_state=nan, solver=lbfgs, max_iter=100, multi_class=auto, verbose=0, warm_start=False, n_jobs=nan, l1_ratio=nan.
| estimator | function | n_samples_train | n_samples | n_features | n_iter | mean_sklearn | stdev_sklearn | throughput | latency | class_weight | l1_ratio | n_jobs | random_state | accuracy_score | mean_daal4py | stdev_daal4py | speedup | stdev_speedup | sklearn_profiling | daal4py_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | LogisticRegression | fit | 1000000 | 1000000 | 100 | [20] | 16.688 | 0.0 | [-0.07070071] | 0.000 | NaN | NaN | NaN | NaN | NaN | 2.974 | 0.0 | 5.611 | 0.000 | See | See |
| 1 | LogisticRegression | predict | 1000000 | 1000 | 100 | [20] | 0.000 | 0.0 | [41.91637475] | 0.000 | NaN | NaN | NaN | NaN | 0.534 | 0.000 | 0.0 | 0.902 | 0.428 | See | See |
| 2 | LogisticRegression | predict | 1000000 | 1 | 100 | [20] | 0.000 | 0.0 | [0.15065814] | 0.000 | NaN | NaN | NaN | NaN | 0.000 | 0.000 | 0.0 | 0.386 | 0.270 | See | See |
| 3 | LogisticRegression | fit | 1000 | 1000 | 10000 | [27] | 1.366 | 0.0 | [-1.5634742] | 0.001 | NaN | NaN | NaN | NaN | NaN | 1.113 | 0.0 | 1.227 | 0.000 | See | See |
| 4 | LogisticRegression | predict | 1000 | 100 | 10000 | [27] | 0.003 | 0.0 | [85.83192654] | 0.000 | NaN | NaN | NaN | NaN | 0.280 | 0.004 | 0.0 | 0.631 | 0.088 | See | See |
| 5 | LogisticRegression | predict | 1000 | 1 | 10000 | [27] | 0.000 | 0.0 | [15.43839686] | 0.000 | NaN | NaN | NaN | NaN | 0.000 | 0.001 | 0.0 | 0.147 | 0.081 | See | See |
Ridge: scikit-learn (1.0.dev0) vs. daal4py (2021.2.3)¶All estimators share the following hyperparameters: alpha=1.0, fit_intercept=True, normalize=deprecated, copy_X=True, max_iter=nan, tol=0.001, solver=auto, random_state=nan.
| estimator | function | n_samples_train | n_samples | n_features | n_iter | mean_sklearn | stdev_sklearn | throughput | latency | max_iter | random_state | r2_score | mean_daal4py | stdev_daal4py | speedup | stdev_speedup | sklearn_profiling | daal4py_profiling | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Ridge | fit | 1000 | 1000 | 10000 | NaN | 0.320 | 0.000 | 0.250 | 0.0 | NaN | NaN | NaN | 0.323 | 0.000 | 0.991 | 0.000 | See | See |
| 1 | Ridge | predict | 1000 | 1000 | 10000 | NaN | 0.012 | 0.001 | 6.697 | 0.0 | NaN | NaN | 0.133 | 0.021 | 0.001 | 0.574 | 0.041 | See | See |
| 2 | Ridge | predict | 1000 | 1 | 10000 | NaN | 0.000 | 0.000 | 0.752 | 0.0 | NaN | NaN | NaN | 0.000 | 0.000 | 0.587 | 0.452 | See | See |
| 3 | Ridge | fit | 1000000 | 1000000 | 100 | NaN | 1.697 | 0.000 | 0.471 | 0.0 | NaN | NaN | NaN | 0.408 | 0.000 | 4.162 | 0.000 | See | See |
| 4 | Ridge | predict | 1000000 | 1000 | 100 | NaN | 0.000 | 0.000 | 4.120 | 0.0 | NaN | NaN | 1.000 | 0.000 | 0.000 | 0.708 | 0.447 | See | See |
| 5 | Ridge | predict | 1000000 | 1 | 100 | NaN | 0.000 | 0.000 | 0.009 | 0.0 | NaN | NaN | NaN | 0.000 | 0.000 | 0.537 | 0.454 | See | See |
reporting_hpo = ReportingHpo(config="config.yml")
reporting_hpo.run()
import numpy as np
import pandas as pd
df = pd.DataFrame({
"method": ["fit", "predict", "fit", "predict"],
"hash": ["0", "0", "1", "1"],
"score": [None, "0.705", None, "0.802"]
})
df
| method | hash | score | |
|---|---|---|---|
| 0 | fit | 0 | None |
| 1 | predict | 0 | 0.705 |
| 2 | fit | 1 | None |
| 3 | predict | 1 | 0.802 |
df.query("method == 'fit'").merge(df.query("method == 'predict'"), on=["hash"], how="inner")
| method_x | hash | score_x | method_y | score_y | |
|---|---|---|---|---|---|
| 0 | fit | 0 | None | predict | 0.705 |
| 1 | fit | 1 | None | predict | 0.802 |